package com.fdb.efp.flow.service.dao;

import java.util.List;

import com.fdb.efp.flow.service.vo.BizFlowTaskVO;
import org.apache.ibatis.annotations.Param;

import com.fdb.efp.flow.service.domain.BizFlowTask;

/**
 * <p>DAO interface:业务流转任务信息				<p>
 * @author ligm
 * @date 2018-05-05
 */
public interface BizFlowTaskDao {
	
	public int insertBizFlowTask(BizFlowTask bizFlowTask);
	
	public int deleteByPk(BizFlowTask bizFlowTask);
	
	public int deleteByBizNodeId(BizFlowTask bizFlowTask);
	
	public int deleteByBizFlowId(String bizFlowId);
	
	public int updateByPk(BizFlowTask bizFlowTask);
	
	public BizFlowTask queryByPk(BizFlowTask bizFlowTask);
	
	public List<BizFlowTask> queryAllOwnerByPage(BizFlowTaskVO bizFlowTask);
	
	public List<BizFlowTask> queryAllCurrOrgByPage(BizFlowTaskVO bizFlowTask);
	
	public List<BizFlowTask> queryAllCurrDownOrgByPage(BizFlowTaskVO bizFlowTask);
	
	public List<BizFlowTask> queryEnableSelectPreTaskByPage(BizFlowTaskVO bizFlowTask);
	
	public List<BizFlowTask> queryByBizNodeId(@Param("bizNodeId") String bizNodeId);
	
	   /**
     * 根据节点ID查询任务
     * @param bizNodeIds
     * @return
     */
    public List<BizFlowTask> queryTaskByBizNodeIds(@Param("bizNodeIds") List<String> bizNodeIds);
    
    /**
     * 批量插入
     * @param list
     * @return
     */
    public int batchInsertBizFlowTask(@Param("list") List<BizFlowTask> list);

}
